cmake_minimum_required(VERSION 3.10)
project(lvgl)
set(CMAKE_C_STANDARD 11) # C11
set(CMAKE_CXX_STANDARD 17) # C17
set(CMAKE_CXX_STANDARD_REQUIRED ON)

include_directories(${PROJECT_SOURCE_DIR})

file(
  GLOB_RECURSE
  INCLUDES
  "lv_drivers/*.h"
  "lvgl/demos/*.h"
  "lvgl/examples/*.h"
  "APP_GUI/*.h"
  "lvgl/*.h"
  "./*.h")
file(GLOB_RECURSE SOURCES "lv_drivers/*.c" "lvgl/demos/*.c"
     "lvgl/examples/*.c""APP_GUI/*.c" "lvgl/src/*.c")

set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
set(CMAKE_CXX_FLAGS "-O3")

find_package(SDL2 REQUIRED SDL2)
include_directories(${SDL2_INCLUDE_DIRS})
add_executable(main main.c mouse_cursor_icon.c ${SOURCES} ${INCLUDES})
add_compile_definitions(LV_CONF_INCLUDE_SIMPLE)
file(COPY SDL2.dll DESTINATION ../bin)
target_link_libraries(main PRIVATE SDL2)
add_custom_target(run COMMAND ${EXECUTABLE_OUTPUT_PATH}/main)
